﻿
namespace ByteartRetail.Domain
{
    /// <summary>
    /// 表示继承于该接口的类型是聚合根类型。
    /// 
    /// ?聚合根表示该实体将组合其它实体，即聚合。被聚合的实体只被聚合根进行引用，不可能被其它实体所引用。貌似可以理解为：聚合根具有全局的独一标识，而实体只有在聚合内部有独一的本地标识。
    /// 从数据库的角度来考虑，似乎某个实体的主键永远都不会成为外键，那它就只是实体而不是聚合根；否则就是聚合根。例如订单明细ID的主键不会成为外键，那它就只是实体；而订单的ID将作为订单明细的外键，所以订单是聚合根
    /// 通常情况下一个聚合类一个Repository。如该项目中，Model中的聚合根是10个类，在Repositories中就是10个对应的类。
    /// 参考：http://msdn.microsoft.com/zh-cn/magazine/hh547108.aspx  http://www.methodsandtools.com/archive/archive.php?id=97p2   ?
    /// </summary>
    public interface IAggregateRoot : IEntity { }
}
